package org.jeecg.modules.supplierEvaluation.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 供应商评价表
 * @Author: jeecg-boot
 * @Date: 2023-xx-xx
 * @Version: V1.0
 */


@Data
@TableName("proc_supplier_evaluation")
@ApiModel(value="SupplierEvaluation对象", description="供应商评价表")
public class SupplierEvaluation implements Serializable {

        private static final long serialVersionUID = 1L;
        /**主键*/
        @TableId(type = IdType.ASSIGN_ID)
        @ApiModelProperty(value = "主键")
        private String id;
        /**供应商ID*/
        @ApiModelProperty(value = "供应商ID")
        @NotNull(message = "供应商ID不能为空")
        private String supplierId;
        /**投标ID*/
        @ApiModelProperty(value = "投标ID")
        @NotNull(message = "投标ID不能为空")
        private String bidId;
        /**项目名称*/
        @ApiModelProperty(value = "项目名称")
        @NotNull(message = "项目名称不能为空")
        private String projectName;
        /**采购方案ID*/
        @ApiModelProperty(value = "采购方案ID")
        @NotNull(message = "采购方案ID不能为空")
        private String purchaseId;
        /**中标时间*/
        @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty(value = "中标时间")
        private Date winningTime;
        /**是否按时完工：0-否，1-是*/
        @ApiModelProperty(value = "是否按时完工：0-否，1-是")
        private Integer onTimeCompletion = 0;
        /**按时完工评分*/
        @ApiModelProperty(value = "按时完工评分")
        private BigDecimal completionScore;
        /**按时完工说明*/
        @ApiModelProperty(value = "按时完工说明")
        private String completionRemark;
        /**工程质量是否达标：0-否，1-是*/
        @ApiModelProperty(value = "工程质量是否达标：0-否，1-是")
        private Integer qualityStandard = 0;
        /**工程质量评分*/
        @ApiModelProperty(value = "工程质量评分")
        private BigDecimal qualityScore;
        /**工程质量说明*/
        @ApiModelProperty(value = "工程质量说明")
        private String qualityRemark;
        /**是否违规：0-否，1-是*/
        @ApiModelProperty(value = "是否违规：0-否，1-是")
        private Integer hasViolation = 0;
        /**违规评分*/
        @ApiModelProperty(value = "违规评分")
        private BigDecimal violationScore;
        /**违规说明*/
        @ApiModelProperty(value = "违规说明")
        private String violationRemark;
        /**综合评分*/
        @ApiModelProperty(value = "综合评分")
        private BigDecimal totalScore;
        /**评价备注*/
        @ApiModelProperty(value = "评价备注")
        private String evaluationRemark;
        /**评价附件*/
        @ApiModelProperty(value = "评价附件")
        private String evaluationAttachment;
        /**评价人*/
        @ApiModelProperty(value = "评价人")
        private String evaluator;
        /**评价时间*/
        @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty(value = "评价时间")
        private Date evaluationTime;
        /**创建人*/
        @ApiModelProperty(value = "创建人")
        private String createBy;
        /**创建日期*/
        @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty(value = "创建日期")
        private Date createTime;
        /**更新人*/
        @ApiModelProperty(value = "更新人")
        private String updateBy;
        /**更新日期*/
        @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty(value = "更新日期")
        private Date updateTime;
        /**服务质量评分*/
        @ApiModelProperty(value = "服务质量评分")
        private BigDecimal serviceQualityScore;
        /**成果质量评分*/
        @ApiModelProperty(value = "成果质量评分")
        private BigDecimal outcomeQualityScore;
        /**进度过程评分*/
        @ApiModelProperty(value = "进度过程评分")
        private BigDecimal progressProcessScore;
        /**进度成果评分*/
        @ApiModelProperty(value = "进度成果评分")
        private BigDecimal progressOutcomeScore;
        /**资料提交情况*/
        @ApiModelProperty(value = "资料提交情况")
        private String documentSubmissionStatus;
        /**发票准确性评分*/
        @ApiModelProperty(value = "发票准确性评分")
        private BigDecimal invoiceAccuracyScore;
        /**职业道德评分*/
        @ApiModelProperty(value = "职业道德评分")
        private BigDecimal professionalEthicsScore;
}
